package com.w7vm.menuweb.managerBean;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;

import org.primefaces.event.TransferEvent;
import org.primefaces.model.DualListModel;

import com.w7vm.componente.ws.Webservicecep;
import com.w7vm.menuweb.entity.AcessoWeb;
import com.w7vm.menuweb.entity.RestauranteCulinariaSy;
import com.w7vm.menuweb.entity.RestauranteEstruturaSy;
import com.w7vm.menuweb.entity.RestauranteFilialEnderecoWeb;
import com.w7vm.menuweb.entity.RestauranteFilialInfraestruturaWeb;
import com.w7vm.menuweb.entity.RestauranteFilialJuridicoWeb;
import com.w7vm.menuweb.entity.RestauranteSedeEnderecoWeb;
import com.w7vm.menuweb.entity.RestauranteFilialWeb;
import com.w7vm.menuweb.entity.RestauranteSedeInfraestruturaWeb;
import com.w7vm.menuweb.entity.RestauranteSedeJuridicoWeb;
import com.w7vm.menuweb.entity.RestauranteSedeWeb;
import com.w7vm.menuweb.entity.RestauranteServicoSy;
import com.w7vm.menuweb.entity.RestauranteTipoSy;
import com.w7vm.menuweb.entity.UsuarioWeb;
import com.w7vm.menuweb.facade.AcessoFacade;
import com.w7vm.menuweb.facade.CorreioFacade;
import com.w7vm.menuweb.facade.RestauranteCulinariaFacade;
import com.w7vm.menuweb.facade.RestauranteEstruturaFacade;
import com.w7vm.menuweb.facade.RestauranteSedeFacade;
import com.w7vm.menuweb.facade.RestauranteFilialFacade;
import com.w7vm.menuweb.facade.RestauranteServicoFacade;
import com.w7vm.menuweb.facade.RestauranteTipoFacade;
import com.w7vm.menuweb.message.MessageFaces;
import com.w7vm.menuweb.utility.Constantes;
import com.w7vm.menuweb.utility.PropertiesLoaderImpl;
import com.w7vm.menuweb.vo.EnderecoVO;
import com.w7vm.menuweb.vo.RestauranteVO;

@ManagedBean
@ViewScoped
public class RestauranteMB {

	@EJB  // RESTAURANTE SEDE
	private RestauranteSedeFacade sedeEJB;
	private RestauranteSedeWeb sedeEntity = new RestauranteSedeWeb();
	private RestauranteSedeEnderecoWeb sedeEnderecoEntity = new RestauranteSedeEnderecoWeb();
	private RestauranteSedeInfraestruturaWeb sedeInfraEntity = new RestauranteSedeInfraestruturaWeb();

	@EJB
	private CorreioFacade correioEJB;
	private Webservicecep enderecoWS = new Webservicecep();

	private List<RestauranteSedeWeb> sedeL = null;

	@EJB   // RESTAURANTE FILIAL
	private RestauranteFilialFacade filialEJB;
	private RestauranteFilialWeb filialEntity = new RestauranteFilialWeb();
	private RestauranteFilialEnderecoWeb filialEnderecoEntity = new RestauranteFilialEnderecoWeb();
	private RestauranteFilialJuridicoWeb filialJuridicoEntity = new RestauranteFilialJuridicoWeb();
	private RestauranteFilialInfraestruturaWeb filialInfraEntity = new RestauranteFilialInfraestruturaWeb();

	@EJB
	private AcessoFacade acessoEJB;
	private AcessoWeb acessoEntity = new AcessoWeb();

	@EJB
	private RestauranteCulinariaFacade restauranteCulinariaEJB;
	private RestauranteCulinariaSy culinariaEntity = new RestauranteCulinariaSy();

	@EJB
	private RestauranteTipoFacade restauranteTipoEJB;
	private RestauranteTipoSy tipoEntity = new RestauranteTipoSy();

	@EJB
	private RestauranteServicoFacade restauranteServicoEJB;
	private RestauranteServicoSy servicoEntity = new RestauranteServicoSy();

	@EJB
	private RestauranteEstruturaFacade restauranteEstruturaEJB;
	private RestauranteEstruturaSy estruturaEntity = new RestauranteEstruturaSy();
	private RestauranteEstruturaSy restEstSYS = new RestauranteEstruturaSy();

	// ViewObject
	private RestauranteVO restauranteVO = new RestauranteVO();
	EnderecoVO enderecoVO = new EnderecoVO();

	// PickerList ---- Estrutura
	private DualListModel<RestauranteEstruturaSy> estruturaPickerView;
	private List<RestauranteEstruturaSy> source = new ArrayList<RestauranteEstruturaSy>();
	private List<RestauranteEstruturaSy> target = new ArrayList<RestauranteEstruturaSy>();

	private UsuarioWeb usuarioEntity = new UsuarioWeb();
	private LoginMB loginOjb = new LoginMB();
	private Constantes constObj = new Constantes();
	private MessageFaces message = new MessageFaces();
	Set<RestauranteEstruturaSy> estruturaSysL = new HashSet<RestauranteEstruturaSy>();
	Set<RestauranteSedeInfraestruturaWeb> infraSedeL = new HashSet<RestauranteSedeInfraestruturaWeb>();
	Set<RestauranteFilialInfraestruturaWeb> infraFilialL = new HashSet<RestauranteFilialInfraestruturaWeb>();

	private boolean statusAlterar = true;
	private boolean controleAlteracao = true;
	private boolean controleAlteracaoBtnEdit = false;
	private boolean statusCNPJAlterar = true;
	

	@PostConstruct
	public void init() {
		String acessoFilial = (String) loginOjb.getSessao("AcessoFilial");
		int idRestaurante = (Integer) loginOjb.getSessao("IDRestaurante");

		if (acessoFilial.equals(constObj.ACESSO_FILIAL_SIM)) {
			controllActionRestauranteFilial(idRestaurante);
			
		} else if (acessoFilial.equals(constObj.ACESSO_FILIAL_NAO)) {
			controllActionLoadRestauranteSede(idRestaurante);
		}
	}
	
	
// ====================================METHOD CONTROLL ACTION - Restaurante// FILIAL ====================

		public void controllActionRestauranteFilial(int idRestaurante) {
			System.out.println("controllActionRestauranteFilial " + idRestaurante);
			filialEntity = filialEJB.findRestauranteFilialByID(idRestaurante);
			restauranteVO = filialEJB.setRestauranteFilialVO(filialEntity);
			enderecoVO = filialEJB.setRestauranteFilialEnderecoVO(filialEntity);
			target = new ArrayList(filialEJB.setRestauranteFilialEstruturaVO(filialEntity));
		}

		public void controllActionPersistRestauranteFilial()
		{
			System.out.println("BEgin controllActionPersistRestauranteFilial");
			Set<RestauranteFilialEnderecoWeb> endSedeL = new HashSet<RestauranteFilialEnderecoWeb>();

			filialEntity = filialEJB.setRestauranteFilialEntity(restauranteVO, filialEntity);
			filialEnderecoEntity = filialEJB.setRestauranteFilialEnderecoEntity(enderecoVO);
			endSedeL.add(filialEnderecoEntity);
			infraFilialL = filialEJB.setRestauranteFilialInfraestruturaEntity(getTarget(), filialEntity);

			filialEntity.setRestauranteFilialEnderecoWebs(endSedeL);
			filialEntity.setRestauranteFilialInfraestruturaWebs(infraFilialL);

			filialEnderecoEntity.setRestauranteFilialWeb(filialEntity);
			filialInfraEntity.setRestauranteFilialWeb(filialEntity);

			System.out.println("End controllActionPersistRestauranteFilial");
		}


// ====================================METHOD CONTROLL ACTION - Restaurante// SEDE ====================

	public void controllActionLoadRestauranteSede(int idRestaurante) {
		System.out.println("loadDadosRestauranteSede " + idRestaurante);
		sedeEntity = sedeEJB.findRestauranteSedeByID(idRestaurante);
		restauranteVO = sedeEJB.setRestauranteSedeVO(sedeEntity);
		enderecoVO = sedeEJB.setRestauranteSedeEnderecoVO(sedeEntity);
		target = new ArrayList(sedeEJB.setRestauranteSedeEstruturaVO(sedeEntity));
	}

	public void controllActionPersistRestauranteSede()
	{
		System.out.println("BEgin controllActionPersistRestauranteSede");
		Set<RestauranteSedeEnderecoWeb> endSedeL = new HashSet<RestauranteSedeEnderecoWeb>();

		sedeEntity = sedeEJB.setRestauranteSedeEntity(restauranteVO, sedeEntity);
		sedeEnderecoEntity = sedeEJB.setRestauranteSedeEnderecoEntity(enderecoVO);
		endSedeL.add(sedeEnderecoEntity);
		infraSedeL = sedeEJB.setRestauranteSedeInfraestruturaEntity(getTarget(), sedeEntity);

		sedeEntity.setRestauranteSedeEnderecoWebs(endSedeL);
		sedeEntity.setRestauranteSedeInfraestruturaWebs(infraSedeL);

		sedeEnderecoEntity.setRestauranteSedeWeb(sedeEntity);
		sedeInfraEntity.setRestauranteSedeWeb(sedeEntity);

		System.out.println("End controllActionPersistRestauranteSede");
	}
	
	
	
// ====================================METHOD CONTROLL ACTION - Restaurante ====================

	public void loadDadosRestauranteFilial(int idRestaurante) {
		System.out.println("loadDadosRestauranteFilial " + idRestaurante);
		filialEntity = filialEJB.findRestauranteFilialByID(idRestaurante);
	}

	public List<RestauranteCulinariaSy> loadCulinariaRestaurante() {
		return restauranteCulinariaEJB.findCulinariaRestauranteByAll();
	}

	public List<RestauranteServicoSy> loadServicoRestaurante() {
		return restauranteServicoEJB.findServicoRestauranteByAll();

	}

	public List<RestauranteTipoSy> loadTipoRestaurante() {
		return restauranteTipoEJB.findTipoRestauranteByAll();
	}

	/*
	 * ================================ METHOD SET DADOS ViewObject --> CORREIO =====================================
	 */

	public void loadEnderecoCorreios() {
		System.out.println("loadEnderecoCorreios()");
		String cep = enderecoVO.getCep();
		
		if (cep == null || cep == "") {
			String titulo = "Campo CEP: ";
			String msg = PropertiesLoaderImpl.getValor("tErroCep");
			message.sendErrorMessageToUser(titulo, msg);
		}
		else {
			System.out.println("CEP " + cep);
			enderecoWS = null;
			enderecoWS = new Webservicecep();
			enderecoWS = correioEJB.getEndereco(cep);
			loadEnderecoVO();
		}
	}

	// Carrega propriedades EndereçoWS
	public void loadEnderecoVO() {
		System.out.println("loadEnderecoWS()");
		enderecoVO.setBairro(enderecoWS.getBairro());
		enderecoVO.setCidade(enderecoWS.getCidade());
		enderecoVO.setEstado(enderecoWS.getUf());
		enderecoVO.setLogradouro(enderecoWS.getLogradouro());
		enderecoVO.setNumero(0);
	}

	/*
	 * ================================ METHOD PERSISTENCIA -ENTITY==================================================
	 */

	public void salvaAlteracao() {
		System.out.println("salvaAlteracao()");

		String acessoFilial = (String) loginOjb.getSessao("AcessoFilial");

		if (acessoFilial.equals(constObj.ACESSO_FILIAL_SIM)) { // OPERACAO PERSIST RESTAURANTE-FILIAL
			
			// Exclui Registro Tabela InfraestruturaRestauranteSedeWeb
			try {
				for (RestauranteFilialInfraestruturaWeb infObj : filialEntity.getRestauranteFilialInfraestruturaWebs()) {
					filialEJB.deleteRestauranteFilial(infObj);
				}
			} catch (Exception ex) {
				ex.printStackTrace();
				String msg = PropertiesLoaderImpl.getValor("tErroAltEmpresa");
				message.sendInfoMessageToUser(restauranteVO.getNomeFantasia(),msg);
			}
			
			// Persist Dados
			try {
				RestauranteFilialWeb restaurantePersist = new RestauranteFilialWeb();
				// Set View Object to Entity
				controllActionPersistRestauranteFilial();
				restaurantePersist = filialEJB.updateRestauranteFilial(filialEntity);
				if (!restaurantePersist.equals(null)) {
					String msg = PropertiesLoaderImpl.getValor("tSuccessAltEmpresa");
					message.sendInfoMessageToUser(restauranteVO.getNomeFantasia(), msg);
					setStatusAlterar(true);
					FacesContext.getCurrentInstance().getExternalContext().redirect("../user/consRestaurante.jsf");
				}
			} catch (Exception ex) {
				ex.printStackTrace();
				String msg = PropertiesLoaderImpl.getValor("tErroAltEmpresa");
				message.sendInfoMessageToUser(restauranteVO.getNomeFantasia(),msg);
			}
			
		} else if (acessoFilial.equals(constObj.ACESSO_FILIAL_NAO)) { // OPERACAO PERSIST RESTAURANTE-SEDE

			// Exclui Registro Tabela InfraestruturaRestauranteSedeWeb
			try {
				for (RestauranteSedeInfraestruturaWeb infObj : sedeEntity.getRestauranteSedeInfraestruturaWebs()) {
					sedeEJB.deleteRestauranteSede(infObj);
				}
			} catch (Exception ex) {
				ex.printStackTrace();
				String msg = PropertiesLoaderImpl.getValor("tErroAltEmpresa");
				message.sendInfoMessageToUser(restauranteVO.getNomeFantasia(),msg);
			}
			
			// Persist Dados
			try {
				RestauranteSedeWeb restaurantePersist = new RestauranteSedeWeb();
				// Set View Object to Entity
				controllActionPersistRestauranteSede();
				restaurantePersist = sedeEJB.updateRestauranteSede(sedeEntity);
				if (!restaurantePersist.equals(null)) {
					String msg = PropertiesLoaderImpl.getValor("tSuccessAltEmpresa");
					message.sendInfoMessageToUser(restauranteVO.getNomeFantasia(), msg);
					setStatusAlterar(true);
					FacesContext.getCurrentInstance().getExternalContext().redirect("../user/consRestaurante.jsf");
				}
			} catch (Exception ex) {
				ex.printStackTrace();
				String msg = PropertiesLoaderImpl.getValor("tErroAltEmpresa");
				message.sendInfoMessageToUser(restauranteVO.getNomeFantasia(),msg);
			}
		}
	}

	/*
	 * ============================== PICKER VIEW - ESTRUTURA=================================================
	 */

	/*
	 * Entity: RestauranteEstruturaSy Functionality: Load table
	 * RestauranteEstruturaSy to field
	 */
	public List<RestauranteEstruturaSy> loadEstruturaRestaurante() {
		List<RestauranteEstruturaSy> recursosL = null;
		
		source  = restauranteEstruturaEJB.findEstruturaRestauranteByAll();
		
		for(int i = 0; i < target.size(); i++ ){
			for(int t = 0; t < source.size(); t++){
				if(source.get(t).getIdRestauranteEstruturaSys() ==  target.get(i).getIdRestauranteEstruturaSys()){
					source.remove(t);
				}
			}
		}
		estruturaPickerView = new DualListModel<RestauranteEstruturaSy>(source,(List<RestauranteEstruturaSy>) target);
		return source;
	}

	public void onTransfer(TransferEvent event) {
		StringBuilder builder = new StringBuilder();
		for (Object item : event.getItems()) {
			builder.append(((RestauranteEstruturaSy) item).getEstrutura()).append("<br />");
		}
	}

	public DualListModel<RestauranteEstruturaSy> getEstruturaPickerView() {
		loadEstruturaRestaurante();
		return estruturaPickerView;
	}

	public void setEstruturaPickerView(
			DualListModel<RestauranteEstruturaSy> estruturaPickerView) {
		this.estruturaPickerView = estruturaPickerView;
	}

	public List<RestauranteEstruturaSy> getSource() {
		return source;
	}

	public void setSource(List<RestauranteEstruturaSy> source) {
		this.source = source;
	}

	public List<RestauranteEstruturaSy> getTarget() {
		System.out.println("estruturaPickerView.getTarget()  "
				+ estruturaPickerView.getTarget());

		return estruturaPickerView.getTarget();
	}

	public void setTarget(List<RestauranteEstruturaSy> target) {
		this.target = target;
	}

	// ======================STATUS OPERATION CRUD=========================================

	public void inativaRestaurante() {
		System.out.println("inativaRestaurante()");

		String acessoFilial = (String) loginOjb.getSessao("AcessoFilial");

		if (acessoFilial.equals(constObj.ACESSO_FILIAL_SIM)) {
			RestauranteFilialWeb filialPersist = new RestauranteFilialWeb();
			// loadPropriedadesRestFilialEntity();
			filialEntity.setStatus(constObj.INATIVO);
			try {
				filialPersist = filialEJB.updateRestauranteFilial(filialEntity);
				if (!filialPersist.equals(null)) {
					String msg = PropertiesLoaderImpl
							.getValor("tSuccessInativacaoRestaurante");
					message.sendInfoMessageToUser(filialEntity
							.getRestauranteFilialJuridicoWeb()
							.getNomeFantasiaFilial(), msg);
					setStatusAlterar(true);
					FacesContext.getCurrentInstance().getExternalContext()
							.redirect("../user/consRestaurante.jsf");
				}
			} catch (Exception ex) {
				ex.printStackTrace();
				String msg = PropertiesLoaderImpl
						.getValor("tErroInativacaoRestaurante");
				message.sendInfoMessageToUser(filialEntity
						.getRestauranteFilialJuridicoWeb()
						.getNomeFantasiaFilial(), msg);
			}
		} else if (acessoFilial.equals(constObj.ACESSO_FILIAL_NAO)) {
			RestauranteSedeWeb restaurantePersist = new RestauranteSedeWeb();
			// loadPropriedadesRestSedeEntity();
			sedeEntity.setStatus(constObj.INATIVO);
			try {
				sedeEJB.updateRestauranteSede(sedeEntity);
				if (!restaurantePersist.equals(null)) {
					String msg = PropertiesLoaderImpl
							.getValor("tSuccessInativacaoRestaurante");
					message.sendInfoMessageToUser(sedeEntity
							.getRestauranteSedeJuridicoWeb().getNomeFantasia(),
							msg);
					setStatusAlterar(true);
					FacesContext.getCurrentInstance().getExternalContext()
							.redirect("../user/consRestaurante.jsf");
				}
			} catch (Exception ex) {
				ex.printStackTrace();
				String msg = PropertiesLoaderImpl
						.getValor("tErroInativacaoRestaurante");
				message.sendInfoMessageToUser(sedeEntity
						.getRestauranteSedeJuridicoWeb().getNomeFantasia(), msg);
			}
		}
	}

	public void ativaRestaurante() {
		System.out.println("ativaRestaurante()");
		String acessoFilial = (String) loginOjb.getSessao("AcessoFilial");

		if (acessoFilial.equals(constObj.ACESSO_FILIAL_SIM)) {
			RestauranteFilialWeb filialPersist = new RestauranteFilialWeb();
			// loadPropriedadesRestFilialEntity();
			filialEntity.setStatus(constObj.ATIVO);
			try {
				filialPersist = filialEJB.updateRestauranteFilial(filialEntity);
				if (!filialPersist.equals(null)) {
					String msg = PropertiesLoaderImpl
							.getValor("tSuccessAtivacaoRestaurante");
					message.sendInfoMessageToUser(filialEntity
							.getRestauranteFilialJuridicoWeb()
							.getNomeFantasiaFilial(), msg);
					setStatusAlterar(true);
					FacesContext.getCurrentInstance().getExternalContext()
							.redirect("../user/consRestaurante.jsf");
				}
			} catch (Exception ex) {
				ex.printStackTrace();
				String msg = PropertiesLoaderImpl
						.getValor("tErroAtivacaoRestaurante");
				message.sendInfoMessageToUser(filialEntity
						.getRestauranteFilialJuridicoWeb()
						.getNomeFantasiaFilial(), msg);
			}
		} else if (acessoFilial.equals(constObj.ACESSO_FILIAL_NAO)) {
			RestauranteSedeWeb restaurantePersist = new RestauranteSedeWeb();
			// loadPropriedadesRestSedeEntity();
			sedeEntity.setStatus(constObj.ATIVO);
			try {
				sedeEJB.updateRestauranteSede(sedeEntity);
				if (!restaurantePersist.equals(null)) {
					String msg = PropertiesLoaderImpl
							.getValor("tSuccessAtivacaoRestaurante");
					message.sendInfoMessageToUser(sedeEntity
							.getRestauranteSedeJuridicoWeb().getNomeFantasia(),
							msg);
					setStatusAlterar(true);
					FacesContext.getCurrentInstance().getExternalContext()
							.redirect("../user/consRestaurante.jsf");
				}
			} catch (Exception ex) {
				ex.printStackTrace();
				String msg = PropertiesLoaderImpl
						.getValor("tErroAtivacaoRestaurante");
				message.sendInfoMessageToUser(sedeEntity
						.getRestauranteSedeJuridicoWeb().getNomeFantasia(), msg);
			}
		}
	}

	// Method GET/SET ENTIDADE RESTAURANTE / FILIAL

	public RestauranteSedeFacade getSedeEJB() {
		return sedeEJB;
	}

	public void setSedeFacade(RestauranteSedeFacade sedeFacade) {
		this.sedeEJB = sedeFacade;
	}

	public RestauranteSedeWeb getSedeEntity() {
		return sedeEntity;
	}

	public void setSedeEntity(RestauranteSedeWeb sedeEntity) {
		this.sedeEntity = sedeEntity;
	}

	public RestauranteFilialFacade getFilialEJB() {
		return filialEJB;
	}

	public void setFilialEJB(RestauranteFilialFacade filialEJB) {
		this.filialEJB = filialEJB;
	}

	public RestauranteFilialWeb getFilialEntity() {
		return filialEntity;
	}

	public void setFilialEntity(RestauranteFilialWeb filialEntity) {
		this.filialEntity = filialEntity;
	}

	public Webservicecep getEnderecoWS() {
		return enderecoWS;
	}

	public void setEnderecoWS(Webservicecep enderecoWS) {
		this.enderecoWS = enderecoWS;
	}

	public boolean isStatusAlterar() {
		return statusAlterar;
	}

	public void setStatusAlterar(boolean statusAlterar) {
		controleAlteracao = statusAlterar;

		if (statusAlterar == true) {
			controleAlteracaoBtnEdit = false;
		} else if (statusAlterar == false) {
			controleAlteracaoBtnEdit = true;
		}
		this.statusAlterar = statusAlterar;
		
		String stAcessoFilial =  (String) loginOjb.getSessao("AcessoFilial");
		if(stAcessoFilial.equals(constObj.ACESSO_FILIAL_SIM)){
			this.statusCNPJAlterar = false;
		}
		else if(stAcessoFilial.equals(constObj.ACESSO_FILIAL_NAO)){
			this.statusCNPJAlterar = true;
		}

	}

	public Constantes getConstObj() {
		return constObj;
	}

	public void setConstObj(Constantes constObj) {
		this.constObj = constObj;
	}

	public boolean isControleAlteracao() {
		return controleAlteracao;
	}

	public void setControleAlteracao(boolean controleAlteracao) {
		this.controleAlteracao = controleAlteracao;
	}

	public boolean isControleAlteracaoBtnEdit() {
		return controleAlteracaoBtnEdit;
	}

	public void setControleAlteracaoBtnEdit(boolean controleAlteracaoBtnEdit) {
		this.controleAlteracaoBtnEdit = controleAlteracaoBtnEdit;
	}

	public RestauranteFilialEnderecoWeb getFilialEnderecoEntity() {
		return filialEnderecoEntity;
	}

	public void setFilialEnderecoEntity(
			RestauranteFilialEnderecoWeb filialEnderecoEntity) {
		this.filialEnderecoEntity = filialEnderecoEntity;
	}

	public RestauranteFilialJuridicoWeb getFilialJuridicoEntity() {
		return filialJuridicoEntity;
	}

	public void setFilialJuridicoEntity(
			RestauranteFilialJuridicoWeb filialJuridicoEntity) {
		this.filialJuridicoEntity = filialJuridicoEntity;
	}

	public RestauranteFilialInfraestruturaWeb getFilialInfraEntity() {
		return filialInfraEntity;
	}

	public void setFilialInfraEntity(
			RestauranteFilialInfraestruturaWeb filialInfraEntity) {
		this.filialInfraEntity = filialInfraEntity;
	}

	public RestauranteVO getRestauranteVO() {
		return restauranteVO;
	}

	public void setRestauranteVO(RestauranteVO restauranteVO) {
		this.restauranteVO = restauranteVO;
	}

	public EnderecoVO getEnderecoVO() {
		return enderecoVO;
	}

	public void setEnderecoVO(EnderecoVO enderecoVO) {
		this.enderecoVO = enderecoVO;
	}

	public boolean isStatusCNPJAlterar() {
		return statusCNPJAlterar;
	}

	public void setStatusCNPJAlterar(boolean statusCNPJAlterar) {
		this.statusCNPJAlterar = statusCNPJAlterar;
	}

}
